Fix get_stipple_surface to actually work, set EXTEND_REPEAT on the stipple
authorOwen Taylor <otaylor@redhat.com>
Thu, 17 Mar 2005 20:53:34 +0000 (20:53 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Thu, 17 Mar 2005 20:53:34 +0000 (20:53 +0000)
2005-03-17  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkpango.c: Fix get_stipple_surface to actually work, set
        EXTEND_REPEAT on the stipple pattern.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-8
gdk/gdkpango.c

index 43c6c7a130c6746b60460b551a7f02592bf0d5d6..cd2a51c2d4e7660d702e3c579779349742587260 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-03-17  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/gdkpango.c: Fix get_stipple_surface to actually work, set
+       EXTEND_REPEAT on the stipple pattern.
+
 2005-03-17  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtklabel.c (gtk_label_set_markup): Fix formatting
index 43c6c7a130c6746b60460b551a7f02592bf0d5d6..cd2a51c2d4e7660d702e3c579779349742587260 100644 (file)
@@ -1,3 +1,8 @@
+2005-03-17  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/gdkpango.c: Fix get_stipple_surface to actually work, set
+       EXTEND_REPEAT on the stipple pattern.
+
 2005-03-17  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtklabel.c (gtk_label_set_markup): Fix formatting
index 43c6c7a130c6746b60460b551a7f02592bf0d5d6..cd2a51c2d4e7660d702e3c579779349742587260 100644 (file)
@@ -1,3 +1,8 @@
+2005-03-17  Owen Taylor  <otaylor@redhat.com>
+
+       * gdk/gdkpango.c: Fix get_stipple_surface to actually work, set
+       EXTEND_REPEAT on the stipple pattern.
+
 2005-03-17  Matthias Clasen  <mclasen@redhat.com>
 
        * gtk/gtklabel.c (gtk_label_set_markup): Fix formatting
index c94f58d724176a943ca6bb4782ca8b30f19ecf12..526dbc20d7911b15cbed8cf13fcc9e0365c1ac25 100644 (file)
@@ -183,16 +183,20 @@ get_stipple_surface (GdkPangoRenderer *gdk_renderer,
 
       cairo_set_operator (tmp_cr, CAIRO_OPERATOR_SRC);
       cairo_show_surface (tmp_cr, alpha_surface, width, height);
-      
+
       set_part_color (gdk_renderer, tmp_cr, part);
-      cairo_set_operator (tmp_cr, CAIRO_OPERATOR_OVER);
+      cairo_set_operator (tmp_cr, CAIRO_OPERATOR_ATOP);
       
       cairo_rectangle (tmp_cr, 0, 0, width, height);
       cairo_fill (tmp_cr);
 
       cairo_destroy (tmp_cr);
       cairo_surface_destroy (alpha_surface);
+
+      gdk_renderer->priv->stipple_surface[part] = surface;
     }
+
+  return gdk_renderer->priv->stipple_surface[part];
 }
 
 static cairo_t *
@@ -209,6 +213,7 @@ create_cairo_context (GdkPangoRenderer *gdk_renderer,
       cairo_pattern_t *pattern;
 
       pattern = cairo_pattern_create_for_surface (surface);
+      cairo_pattern_set_extend (pattern, CAIRO_EXTEND_REPEAT);
 
       if (gdk_renderer->priv->base_gc->ts_x_origin != 0 ||
          gdk_renderer->priv->base_gc->ts_y_origin != 0)